package es.tid.jala.javame.equipo.model;

import java.io.IOException;
import javax.microedition.rms.RecordComparator;

/**
 * Comparador de jugadores por altura. Puede indicarse si el orden es
 * de menor a mayor altura (masBajoPrimero = true) o viceversa.
 *
 * @author jala
 */
public class ComparadorPorAltura implements RecordComparator {
    private boolean masBajoPrimero;

    public ComparadorPorAltura(boolean masBajoPrimero) {
        this.masBajoPrimero = masBajoPrimero;
    }

    public int compare(byte[] rec1, byte[] rec2) {
        int result;

        try {
            Jugador j1 = new Jugador(rec1);
            Jugador j2 = new Jugador(rec2);

            if (j1.getAltura() < j2.getAltura()) {
                result = masBajoPrimero ? PRECEDES : FOLLOWS;
            } else if (j1.getAltura() > j2.getAltura()) {
                result = masBajoPrimero ? FOLLOWS : PRECEDES;
            } else {
                result = EQUIVALENT;
            }
        } catch (IOException e) {
            e.printStackTrace();
            result = EQUIVALENT;
        }

        return result;
    }

}
